草庐IT

javascript - 用javascript替换字符串中的多次出现

全部标签

Ruby 字符串剥离定义的字符

在Python中,我们可以使用.strip()删除所选字符前导或尾随出现的字符串方法:>>>print"(Removes(only)leading&trailingbrackets&ws)".strip("()")'Removes(only)leading&trailingbrackets&ws'我们如何在Ruby中做到这一点?ruby的strip方法不接受任何参数,只去除空格。 最佳答案 ruby中没有这样的方法,但你可以很容易地定义它:defmy_strip(string,chars)chars=Regexp.escape(ch

ruby - UTF-8 中的无效字节序列 (ArgumentError)

我正在尝试运行Ruby脚本,但总是在这一行出现错误:file_content.gsub(/dr/i,'med')我试图用“med”替换“dr”的地方。错误是:program.rb:4:in`gsub':invalidbytesequenceinUTF-8(ArgumentError)这是为什么,我该如何解决这个问题?我正在使用Ruby2.2.1p85的MACOSXYosemite机器上工作。 最佳答案 可能你的字符串不是UTF-8格式,所以使用if!file_content.valid_encoding?s=file_content

Ruby - 将字符串转换为浮点返回 0.0

在一个变量中存储了这个值:$10.00我需要得到这个10.00我已尝试将此值转换为float:new_price='%.2f'%(price.to_f)但我只得到0.0。这有什么问题?我也试过了price=price.stripprice[0]=""new_price='%.2f'%(price.to_f)但即使这样也没有帮助我......哪里有问题?谢谢 最佳答案 您需要先删除$。整个事情是这样的:'%.2f'%'$10.00'.delete("$").to_f或'%.2f'%'$10.00'[1..-1].to_f如果你喜欢密度

Ruby block 到字符串而不是执行

这个问题在这里已经有了答案:PrintingthesourcecodeofaRubyblock(6个答案)关闭8年前。举个例子:write_as_string{puts'x'}然后我想能够做到defwrite_as_string(&block)putsblock.to_send当我执行此操作时,我希望输出为:"puts'x'"我希望能够接收block并获取block的实际代码而不是执行它。动机:创建一个DSL,我想将mock转换为许多其他方法调用,从调用代码中隐藏-使用现有对象和方法而不用猴子修补它们。任何关于此的想法都会很棒!谢谢本

ruby-on-rails - Ruby 中的 "equals greater than"运算符 => 是什么?

在RubyonRails教程中,我被要求输入:classPosttruevalidates:title,:presence=>true,:length=>{:minimum=>5}end我明白这是做什么的,但我想知道=>运算符是什么。在PHP领域,它链接关联数组中的键和值。这里是一样的吗?是Ruby运算符还是Rails运算符? 最佳答案 它主要是一个ruby​​运算符,用于在散列中设置键的值。因此:{:minimum=>5}是一个ruby​​散列,其符号为:minimum作为映射到值5的键。在本例中为具有一个条目的散列。同样适用于:

ruby-on-rails - Ruby gsub 字符串中的多个字符

使用Ruby1.9.3、Rails3.2,我有以下内容:"everygoodboydoesfine".gsub("every","all").gsub("boy","girl").gsub("fine","well")#=>"allgoodgirldoeswell"有没有更好的写法?谢谢。 最佳答案 String#gsub和Hash#fetch将是一个不错的选择。a="everygoodboydoesfine"h={"every"=>"all","boy"=>"girl","fine"=>"well"}a.gsub(/\w+/){|

ruby-on-rails - 如何让 Rails 中的 named_scope 返回一个值而不是数组?

我想写一个namedscope从它的id中获取记录。例如,我有一个名为Event的模型,我想使用named_scope来模拟Event.find(id)future的灵active。我在我的模型中使用了这段代码:named_scope:from_id,lambda{|id|{:conditions=>['id=?',id]}}我从我的Controller调用它,如Event.from_id(id)。但我的问题是它返回一组Event对象而不是一个对象。因此如果我想获取事件名称,我必须写event=Event.from_id(id)event[0].name而我想要的是event=Even

ruby-on-rails - 如何全局忽略 UTF-8 字符串中的无效字节序列?

我有一个Rails应用程序从Rails版本1开始迁移,我想忽略它上面的所有无效字节序列,以保持向后兼容性。我不知道输入编码。例子:>"-Men\xFC-".split("n")ArgumentError:invalidbytesequenceinUTF-8from(irb):4:in`split'from(irb):4from/home/fotanus/.rvm/rubies/ruby-2.0.0-rc2/bin/irb:16:in`'我可以在一行中解决这个问题,例如:>"-Men\xFC-".unpack("C*").pack("U*").split("n")=>["-Me","ü-

ruby - 如何获取 ruby​​ 中的时区列表?

我想知道,如何在Ruby2.0中获取时区列表? 最佳答案 使用Rails的一个简单方法是:ActiveSupport::TimeZone.all 关于ruby-如何获取ruby​​中的时区列表?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/23527261/

ruby - 如何将 Ruby 脚本的输出通过管道传输到 'head' 而不会出现管道损坏错误

我有一个简单的Ruby脚本,看起来像这样require'csv'whileline=STDIN.getsarray=CSV.parse_line(line)putsarray[2]end但是当我尝试在这样的Unix管道中使用此脚本时,我得到10行输出,然后是一个错误:rubylib/myscript.rb(Errno::EPIPE)有没有一种方法可以以防止引发破损管道异常的方式编写Ruby脚本? 最佳答案 head在读取所有需要的数据后关闭标准输出流。您应该处理异常并停止写入标准输出。一旦标准输出关闭,以下代码将中止循环:while